package exception;

/**
 * finally块
 * finally是异常处理机制的最后一块,他可以直接跟在try之后或最后一个catch之后
 * finally可以保证只要程序执行到try语句块中,无论try块的代码是否抛出异常,finally都
 * 必定会执行
 * 因此我们通常将释放资源一类操作放在finally中确保执行,例如IO操作完毕后的关闭动作
 */
public class FinallyDemo1 {
    public static void main(String[] args) {
        System.out.println("程序开始了");
        try {
            String str="null";
            System.out.println(str.length());
            //return也是要先将finally执行后方法才会返回
            return;
        }catch (Exception e){
            System.out.println("出错了");
        }finally {
            System.out.println("finally中的代码执行了");
        }
        System.out.println("程序结束了");
    }
}
